{
    "cells": [
        {
            "cell_type": "markdown",
            "id": "596dfe2b",
            "metadata": {},
            "source": [
                "# Basic Example"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": 1,
            "id": "1012cd9e-9e73-41be-8c79-4ea865ebeea0",
            "metadata": {},
            "outputs": [],
            "source": [
                "%load_ext autoreload\n",
                "%autoreload 2\n",
                "\n",
                "import matplotlib.pyplot as plt\n",
                "import numpy as np\n",
                "import pandas as pd\n",
                "\n",
                "from plottable import Table"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": 2,
            "id": "bf36b29e-8801-495c-9ed5-d807cf2e9ed6",
            "metadata": {},
            "outputs": [
                {
                    "data": {
                        "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAD7CAYAAAC7WecDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2QElEQVR4nO3de1iUdd4/8PcwMAwhiorAoIKCBzyBisGCFmpsmqSUPY/aKotWuqvjPlrbbqzmZauFHTQrPOQBsKfcsBKNR81DBJqFUcikeOAkahngT1NXNDnMfH5/dDnrBBaDc7jV9+u67utq7vsz93y+n+se3syBVImIgIiIiJzKxdkNEBEREQOZiIhIERjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBTgtgvk4cOHY+7cua2+/8mTJ6FSqWAwGGzWExER0a267QI5KysLixcvdnYb1EL5+flQq9WIj493diuKN3XqVKhUKvPWsWNHjB49GocOHXJ2a4pWXV2Nv/zlLwgODoa7uzu6du2KsWPHIicnx9mtKcqN15ebmxv8/Pzw+9//Hunp6TCZTM5uT9F++dy8vo0ePdqmj3PbBXKHDh3g5eXl7DaohdLS0vCXv/wF+/btww8//ODsdhRv9OjRqKqqQlVVFXJycuDq6oqHH37Y2W0p1smTJxEREYHPPvsMr732Gg4fPoydO3dixIgR0Ov1zm5Pca5fXydPnsQnn3yCESNGYM6cOXj44YfR2Njo7PYU7cbn5vXt/ffft+lj3HaBfONb1t26dUNKSgqeeOIJeHl5ITAwEGvXrrWoLygowKBBg6DVajFkyBAUFRU1OWdxcTEeeughtGnTBn5+fkhMTMS5c+cAAHl5edBoNPj888/N9a+++ip8fX1RU1Njv4XeAWpra7Fp0ybMnDkT8fHx2LBhg7NbUjx3d3f4+/vD398fAwcORHJyMr777jv8v//3/5zdmiLNmjULKpUKBQUFeOyxx9CrVy/069cPzzzzDA4cOODs9hTn+vXVuXNnDB48GPPmzcPHH3+MTz75hM/P33Djc/P61r59e5s+xm0XyL+0bNkyc9DOmjULM2fORElJCYCfA+Hhhx9G3759UVhYiBdeeAHPPvusxf0vXryIkSNHYtCgQfjmm2+wc+dO1NTUYMKECQD+8wtAYmIiLl26hKKiIixYsADr16+Hn5+fw9d7O/nggw8QGhqK3r17Y8qUKUhPT4eIOLut20ZtbS3ee+899OjRAx07dnR2O4rz448/YufOndDr9fD09Gxy3Nvb2/FN3YZGjhyJ8PBwZGVlObuVu95tH8hjxozBrFmz0KNHDzz33HPw8fFBbm4uAOBf//oXTCYT0tLS0K9fPzz88MP429/+ZnH/FStWYNCgQUhJSUFoaCgGDRqE9PR05ObmorS0FADw4osvon379pgxYwamTJmCpKQkjBs3zuFrvd2kpaVhypQpAH5+u+fSpUvYu3evk7tStm3btqFNmzZo06YNvLy8kJ2djU2bNsHF5bZ/qtpceXk5RAShoaHObuW2FxoaipMnTzq7DUW78bl5fUtJSbHpY7ja9GxOEBYWZv5vlUoFf39/nD17FgBw7NgxhIWFQavVmmuio6Mt7v/tt98iNzcXbdq0aXLuiooK9OrVCxqNBhs3bkRYWBiCgoKwfPlyO63mzlFSUoKCggJs2bIFAODq6oqJEyciLS0Nw4cPd25zCjZixAisXr0aAHDhwgWsWrUKDz30EAoKChAUFOTk7pSF77bYjohApVI5uw1Fu/G5eV2HDh1s+hi3fSC7ublZ3FapVFZ9Y7C2thZjx47FK6+80uSYTqcz//eXX34J4Oe3yX788cdm3yKj/0hLS0NjYyMCAgLM+0QE7u7uWLFiBdq1a+fE7pTL09MTPXr0MN9ev3492rVrh3Xr1uHFF190YmfK07NnT6hUKhw/ftzZrdz2jh07hu7duzu7DUX75XPTHu7o98H69OmDQ4cO4dq1a+Z9v/yix+DBg3HkyBF069YNPXr0sNiuh25FRQWefvpprFu3DlFRUUhKSuKfCfyKxsZG/O///i+WLVsGg8Fg3r799lsEBATY/JuJdzKVSgUXFxf89NNPzm5FcTp06IBRo0Zh5cqVuHLlSpPjFy9edHxTt6HPPvsMhw8fxmOPPebsVu56d3Qg/+EPf4BKpcL06dNx9OhR7NixA0uXLrWo0ev1+PHHH/H444/j66+/RkVFBXbt2oVp06bBaDTCaDRiypQpGDVqFKZNm4aMjAwcOnQIy5Ytc9KqlG/btm24cOECnnzySfTv399ie+yxx5CWlubsFhWrrq4O1dXVqK6uxrFjx/CXv/zF/C4ONbVy5UoYjUZERkZi8+bNKCsrw7Fjx/DWW281+XiK/nN9nTlzBgcPHkRKSgoSEhLw8MMP449//KOz21O0G5+b17frf41jM3KbiY2NlTlz5oiISFBQkCxfvtzieHh4uCxcuNB8Oz8/X8LDw0Wj0cjAgQNl8+bNAkCKiorMNaWlpfLoo4+Kt7e3eHh4SGhoqMydO1dMJpP885//FJ1OJ+fOnTPXb968WTQajRgMBjuu9Pb18MMPy5gxY5o99tVXXwkA+fbbbx3clfIlJSUJAPPm5eUl9957r3z00UfObk3RfvjhB9Hr9RIUFCQajUY6d+4s48aNk9zcXGe3pig3Xl+urq7SqVMniYuLk/T0dDEajc5uT9F++dy8vvXu3dumj6MS4TcjiIiInO2OfsuaiIjodsFAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQArtYUX716FcePH7dXL0RERHec0NBQ3HPPPb9ZZ1UgHz9+HBEREa1uioiI6G5TWFiIwYMH/2adVf8eMl8hExERWaelr5CtCmQiIiKyD36pi4iISAEYyERERArAQCYiIlIABjIREZECMJCJiIgUgIFMRESkAAxkIiIiBWAgExERKQADmYiISAEYyERERArAQLbCypUr0a1bN2i1WkRFRaGgoMDZLdmMtWv78MMPERoaCq1WiwEDBmDHjh0Wx1UqVbPba6+9Zs9lOJS1M7t48SL0ej10Oh3c3d3Rq1cvi7ldvnwZc+fORVBQEDw8PBATE4Ovv/7a3stwqNY+hzIzM6FSqfDII49Y7Od1Zmn48OHNziM+Pt5cU1tbi9mzZ6NLly7w8PBA37598fbbbztiKQ5hzbwaGhqwaNEihISEQKvVIjw8HDt37mxSd+bMGUyZMgUdO3aEh4cHBgwYgG+++cb2zQu1SGZmpmg0GklPT5cjR47I9OnTxdvbW2pqapzd2i2zdm1ffPGFqNVqefXVV+Xo0aPy/PPPi5ubmxw+fNhcU1VVZbGlp6eLSqWSiooKRy3LrqydWV1dnQwZMkTGjBkj+/fvl8rKSsnLyxODwWCumTBhgvTt21f27t0rZWVlsnDhQmnbtq18//33jlqWXbX2OVRZWSmdO3eW++67TxISEiyO8TqzdP78eYt5FBcXi1qtloyMDHPN9OnTJSQkRHJzc6WyslLWrFkjarVaPv74Ywetyn6sndff//53CQgIkO3bt0tFRYWsWrVKtFqtHDx40Fzz448/SlBQkEydOlW++uorOXHihOzatUvKy8tt3j8DuYUiIyNFr9ebbxuNRgkICJAlS5Y4sSvbsHZtEyZMkPj4eIt9UVFR8qc//emmj5GQkCAjR460TcMKYO3MVq9eLcHBwVJfX9/s8atXr4parZZt27ZZ7B88eLDMnz/fdo07UWueQ42NjRITEyPr16+XpKSkJoH8S3f7dfZLy5cvFy8vL6mtrTXv69evnyxatMii7k65zqydl06nkxUrVljsGz9+vEyePNl8+7nnnpNhw4bZp+Ff4FvWLVBfX4/CwkLExcWZ97m4uCAuLg75+flO7OzWtWZt+fn5FvUAMGrUqJvW19TUYPv27XjyySdt17gTtWZm2dnZiI6Ohl6vh5+fH/r374+UlBQYjUYAQGNjI4xGI7RarcX9PDw8sH//fvstxkFa+xxatGgRfH19W3Tt8DprKi0tDZMmTYKnp6d5X0xMDLKzs3HmzBmICHJzc1FaWooHH3zQ5mtwpNbMq66u7jefc9nZ2RgyZAj++7//G76+vhg0aBDWrVtnlzUwkFvg3LlzMBqN8PPzs9jv5+eH6upqJ3VlG61ZW3V1tVX177zzDry8vDB+/HjbNO1krZnZiRMn8NFHH8FoNGLHjh1YsGABli1bhhdffBEA4OXlhejoaCxevBg//PADjEYj3nvvPeTn56Oqqsrua7K31sxs//79SEtLa/EPP15nlgoKClBcXIynnnrKYn9qair69u2LLl26QKPRYPTo0Vi5ciXuv/9+m/bvaK2Z16hRo/D666+jrKwMJpMJe/bsQVZWlsVz7sSJE1i9ejV69uyJXbt2YebMmfif//kfvPPOOzZfAwOZ7C49PR2TJ09u8pvo3cRkMsHX1xdr165FREQEJk6ciPnz51t8mebdd9+FiKBz585wd3fHW2+9hccffxwuLnff0/Ty5ctITEzEunXr4OPj06L78DqzlJaWhgEDBiAyMtJif2pqKg4cOIDs7GwUFhZi2bJl0Ov1+PTTT53UqfO8+eab6NmzJ0JDQ6HRaDB79mxMmzbN4jlnMpkwePBgpKSkYNCgQZgxYwamT59uly/Cudr8jHcgHx8fqNVq1NTUWOyvqamBv7+/k7qyjdaszd/fv8X1n3/+OUpKSrBp0ybbNe1krZmZTqeDm5sb1Gq1eV+fPn1QXV2N+vp6aDQahISEYO/evbhy5Qr+/e9/Q6fTYeLEiQgODrbrehzB2plVVFTg5MmTGDt2rHmfyWQCALi6uqKkpAQhISHmY7zOLF25cgWZmZlYtGiRxf6ffvoJ8+bNw5YtW8zfvA4LC4PBYMDSpUubfBR1O2nNvDp16oStW7fi2rVrOH/+PAICApCcnGzxnNPpdOjbt6/F/fr06YPNmzfbfA1336/eraDRaBAREYGcnBzzPpPJhJycHERHRzuxs1vXmrVFR0db1APAnj17mq1PS0tDREQEwsPDbdu4E7VmZkOHDkV5ebk5VACgtLQUOp0OGo3GotbT0xM6nQ4XLlzArl27kJCQYJ+FOJC1MwsNDcXhw4dhMBjM27hx4zBixAgYDAZ07drVop7XmaUPP/wQdXV1mDJlisX+hoYGNDQ0NHnXRa1WW1ybt6NbmZdWq0Xnzp3R2NiIzZs3Wzznhg4dipKSEov60tJSBAUF2XYBAP/sqaUyMzPF3d1dNmzYIEePHpUZM2aIt7e3VFdXO7u1W/Zba0tMTJTk5GRz/RdffCGurq6ydOlSOXbsmCxcuLDJnz2JiFy6dEnuueceWb16tUPX4wjWzuz06dPi5eUls2fPlpKSEtm2bZv4+vrKiy++aK7ZuXOnfPLJJ3LixAnZvXu3hIeHS1RU1E2/mX27sXZmv3Szb1nzOms6s2HDhsnEiRObPWdsbKz069dPcnNz5cSJE5KRkSFarVZWrVpl17U4grXzOnDggGzevFkqKipk3759MnLkSOnevbtcuHDBXFNQUCCurq7y0ksvSVlZmWzcuFHuueceee+992zePwPZCqmpqRIYGCgajUYiIyPlwIEDzm7JZn5tbbGxsZKUlGRR/8EHH0ivXr1Eo9FIv379ZPv27U3OuWbNGvHw8JCLFy/au32nsHZmX375pURFRYm7u7sEBwfLSy+9JI2NjebjmzZtkuDgYNFoNOLv7y96vf6Om521M7vRzQKZ11mSRf3x48cFgOzevbvZ81VVVcnUqVMlICBAtFqt9O7dW5YtWyYmk8mey3AYa+aVl5cnffr0EXd3d+nYsaMkJibKmTNnmpzz//7v/6R///7i7u4uoaGhsnbtWrv0rhIRsf3rbiIiIrIGP0MmIiJSAAYyERGRAjCQiYiIFICBTEREpAAMZCIiIgVgIBMRESkAA5mIiEgBGMhEREQKwEAmIiJSAAYyERGRAjCQiYiIFICBTEREpAAMZCIiIgVwtaa4vr4ep0+ftlcvREREd5TAwEBoNJoW1fIVMhERkQLw30MmIiJSAL5CJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgdxC+/btw9ixYxEQEACVSoWtW7c6uyWbWrlyJbp16watVouoqCgUFBTctDYrKwtDhgyBt7c3PD09MXDgQLz77rtN6o4dO4Zx48ahXbt28PT0xL333ntH/Wth1szsRpmZmVCpVHjkkUeaHOPM/uPIkSN47LHH0K1bN6hUKrzxxhtNal544QWoVCqLLTQ01I4rcDxbz4w/y/6joaEBixYtQkhICLRaLcLDw7Fz506LGqPRiAULFqB79+7w8PBASEgIFi9eDHv8MxAM5Ba6cuUKwsPDsXLlSme3YnObNm3CM888g4ULF+LgwYMIDw/HqFGjcPbs2WbrO3TogPnz5yM/Px+HDh3CtGnTMG3aNOzatctcU1FRgWHDhiE0NBR5eXk4dOgQFixYAK1W66hl2ZW1M7vu5MmTePbZZ3Hfffc1OcaZWbp69SqCg4Px8ssvw9/f/6bn7devH6qqqszb/v377bUEh7PHzPiz7D+ef/55rFmzBqmpqTh69Cj+/Oc/49FHH0VRUZG55pVXXsHq1auxYsUKHDt2DK+88gpeffVVpKam2n4BQlYDIFu2bHF2GzYTGRkper3efNtoNEpAQIAsWbKkxecYNGiQPP/88+bbEydOlClTpti0TyVpzcwaGxslJiZG1q9fL0lJSZKQkGBxnDO7uaCgIFm+fHmT/QsXLpTw8HAbdqks9pjZje72n2U6nU5WrFhhsW/8+PEyefJk8+34+Hh54oknfrXGVvgK+S5XX1+PwsJCxMXFmfe5uLggLi4O+fn5v3l/EUFOTg5KSkpw//33AwBMJhO2b9+OXr16YdSoUfD19UVUVNQd89ZYa2e2aNEi+Pr64sknn2xyjDNrvbKyMgQEBCA4OBiTJ0++Y97it+fM7kStmVddXV2Td6A8PDws3mWJiYlBTk4OSktLAQDffvst9u/fj4ceesjma2Ag3+XOnTsHo9EIPz8/i/1+fn6orq6+6f0uXbqENm3aQKPRID4+Hqmpqfj9738PADh79ixqa2vx8ssvY/To0di9ezceffRRjB8/Hnv37rXrehyhNTPbv38/0tLSsG7dumaPc2atExUVhQ0bNmDnzp1YvXo1Kisrcd999+Hy5cu32rLT2Wtmd6rWzGvUqFF4/fXXUVZWBpPJhD179iArKwtVVVXmmuTkZEyaNAmhoaFwc3PDoEGDMHfuXEyePNnma3C1+RnpruDl5QWDwYDa2lrk5OTgmWeeQXBwMIYPHw6TyQQASEhIwNNPPw0AGDhwIL788ku8/fbbiI2NdWbrDnf58mUkJiZi3bp18PHxabaGM2udG1+lhIWFISoqCkFBQfjggw+afSeC6EZvvvkmpk+fjtDQUKhUKoSEhGDatGlIT08313zwwQfYuHEj/vWvf6Ffv34wGAyYO3cuAgICkJSUZNN+GMh3OR8fH6jVatTU1Fjsr6mp+dUv0ri4uKBHjx4Afg6OY8eOYcmSJRg+fDh8fHzg6uqKvn37WtynT58+d8QXbqydWUVFBU6ePImxY8ea910PYFdXV5SUlKBr166cmQ14e3ujV69eKC8vt9k5ncVRM7tTtGZenTp1wtatW3Ht2jWcP38eAQEBSE5ORnBwsLnmb3/7m/lVMgAMGDAAp06dwpIlS2weyHzL+i6n0WgQERGBnJwc8z6TyYScnBxER0e3+Dwmkwl1dXXmc957770oKSmxqCktLUVQUJBtGncia2cWGhqKw4cPw2AwmLdx48ZhxIgRMBgM6Nq1K2dmI7W1taioqIBOp7PZOZ3FUTO7U9zKvLRaLTp37ozGxkZs3rwZCQkJ5mNXr16Fi4tlVKrVavMv1TZl86+J3aEuX74sRUVFUlRUJADk9ddfl6KiIjl16pSzW7tlmZmZ4u7uLhs2bJCjR4/KjBkzxNvbW6qrq0VEJDExUZKTk831KSkpsnv3bqmoqJCjR4/K0qVLxdXVVdatW2euycrKEjc3N1m7dq2UlZVJamqqqNVq+fzzzx2+Pnuwdma/1Ny3rDkzy5nV1dWZn3M6nU6effZZKSoqkrKyMnPNX//6V8nLy5PKykr54osvJC4uTnx8fOTs2bMOX5892GNm/Fn2n3kdOHBANm/eLBUVFbJv3z4ZOXKkdO/eXS5cuGCuSUpKks6dO8u2bduksrJSsrKyxMfHR/7+97/bvH8Gcgvl5uYKgCZbUlKSs1uzidTUVAkMDBSNRiORkZFy4MAB87HY2FiLdc6fP1969OghWq1W2rdvL9HR0ZKZmdnknGlpaea68PBw2bp1qyOW4jDWzOyXmgtkEc7sxplVVlY2+5yLjY0110ycOFF0Op1oNBrp3LmzTJw4UcrLyx24Ivuz9cz4syzJfDsvL0/69Okj7u7u0rFjR0lMTJQzZ85YnO/f//63zJkzRwIDA0Wr1UpwcLDMnz9f6urqbN67SsQO/7sRIiIisgo/QyYiIlIABjIREZECMJCJiIgUgIFMRESkAAxkIiIiBWAgExERKQADmYiISAEYyERERArAQCYiIlIABjIREZECMJCJiIgUgIFMRESkAAxkIiIiBXC1pri+vh6nT5+2Vy9ERER3lMDAQGg0mhbV8hUyERGRAvDfQyYiIlIAvkImIiJSAAYyERGRAjCQiYiIFICBTEREpAAMZCIiIgVgIBMRESkAA5mIiEgBGMhEREQKwEAmIiJSAAYyERGRAjCQiYiIFICB3AJLlizBvffeCy8vL/j6+uKRRx5BSUmJs9uyqZUrV6Jbt27QarWIiopCQUHBTWuHDx8OlUrVZIuPjzfXNHdcpVLhtddec8RyHMKamd0oMzMTKpUKjzzyiMX+2tpazJ49G126dIGHhwf69u2Lt99+2w6dO481M9uwYUOT60er1VrU8Dpr6uLFi9Dr9dDpdHB3d0evXr2wY8cO8/HVq1cjLCwMbdu2Rdu2bREdHY1PPvnE3stwGFvPa9++fRg7diwCAgKgUqmwdetW+zUv9JtGjRolGRkZUlxcLAaDQcaMGSOBgYFSW1vr7NZsIjMzUzQajaSnp8uRI0dk+vTp4u3tLTU1Nc3Wnz9/XqqqqsxbcXGxqNVqycjIMNfceLyqqkrS09NFpVJJRUWFg1ZlX9bO7LrKykrp3Lmz3HfffZKQkGBxbPr06RISEiK5ublSWVkpa9asEbVaLR9//LEdV+I41s4sIyND2rZta3EdVVdXW9TwOrNUV1cnQ4YMkTFjxsj+/fulsrJS8vLyxGAwmGuys7Nl+/btUlpaKiUlJTJv3jxxc3OT4uJiRy3Lbuwxrx07dsj8+fMlKytLAMiWLVvs1j8DuRXOnj0rAGTv3r3ObsUmIiMjRa/Xm28bjUYJCAiQJUuWtOj+y5cvFy8vr1/9BSUhIUFGjhx5y70qRWtm1tjYKDExMbJ+/XpJSkpqEsj9+vWTRYsWWewbPHiwzJ8/36a9O4u1M8vIyJB27dpZ9Rh3+3W2evVqCQ4Olvr6eqsep3379rJ+/fpb6lUJ7D0vewcy37JuhUuXLgEAOnTo4ORObl19fT0KCwsRFxdn3ufi4oK4uDjk5+e36BxpaWmYNGkSPD09mz1eU1OD7du348knn7RJz87W2pktWrQIvr6+N51DTEwMsrOzcebMGYgIcnNzUVpaigcffNDma3C01s6strYWQUFB6Nq1KxISEnDkyJGb1vI6A7KzsxEdHQ29Xg8/Pz/0798fKSkpMBqNzdYbjUZkZmbiypUriI6Otss6HMUR87I3V6c86m3MZDJh7ty5GDp0KPr37+/sdm7ZuXPnYDQa4efnZ7Hfz88Px48f/837FxQUoLi4GGlpaTeteeedd+Dl5YXx48ffcr9K0JqZ7d+/H2lpaTAYDDc9b2pqKmbMmIEuXbrA1dUVLi4uWLduHe6//35btu8UrZlZ7969kZ6ejrCwMFy6dAlLly5FTEwMjhw5gi5dujSp53UGnDhxAp999hkmT56MHTt2oLy8HLNmzUJDQwMWLlxorjt8+DCio6Nx7do1tGnTBlu2bEHfvn3tuh57s+e8HIWBbCW9Xo/i4mLs37/f2a0oQlpaGgYMGIDIyMib1qSnp2Py5MlNvpBzt7h8+TISExOxbt06+Pj43LQuNTUVBw4cQHZ2NoKCgrBv3z7o9XoEBARY/NZ/t4iOjrZ41RYTE4M+ffpgzZo1WLx4cZP6u/06A35+weDr64u1a9dCrVYjIiICZ86cwWuvvWYRML1794bBYMClS5fw0UcfISkpCXv37r3tQ9laLZ2XozCQrTB79mxs27YN+/bta/Y39NuRj48P1Go1ampqLPbX1NTA39//V+975coVZGZmYtGiRTet+fzzz1FSUoJNmzbZpF8lsHZmFRUVOHnyJMaOHWveZzKZAACurq4oKSlBQEAA5s2bhy1btpi/rR4WFgaDwYClS5fe9oF8K9fZdW5ubhg0aBDKy8ubHON19jOdTgc3Nzeo1Wrzvj59+qC6uhr19fXQaDQAAI1Ggx49egAAIiIi8PXXX+PNN9/EmjVr7LQa+7PnvByFnyG3gIhg9uzZ2LJlCz777DN0797d2S3ZjEajQUREBHJycsz7TCYTcnJyfvMzpQ8//BB1dXWYMmXKTWvS0tIQERGB8PBwm/XsbNbOLDQ0FIcPH4bBYDBv48aNw4gRI2AwGNC1a1c0NDSgoaEBLi6WT0m1Wm0O79vZrVxn1xmNRhw+fBg6na7JMV5nPxs6dCjKy8strpnS0lLodLpfDReTyYS6ujrbNe8EjpyX3djt62J3kJkzZ0q7du0kLy/P4k8srl696uzWbCIzM1Pc3d1lw4YNcvToUZkxY4Z4e3ub/8QkMTFRkpOTm9xv2LBhMnHixJue99KlS3LPPffI6tWr7da7s7R2Ztc19y3r2NhY6devn+Tm5sqJEyckIyNDtFqtrFq1yp5LcRhrZ/bPf/5Tdu3aJRUVFVJYWCiTJk0SrVYrR44csTgvr7P/zOz06dPi5eUls2fPlpKSEtm2bZv4+vrKiy++aK5JTk6WvXv3SmVlpRw6dEiSk5NFpVLJ7t27Hb4+W7PHvC5fvixFRUVSVFQkAOT111+XoqIiOXXqlM37ZyC3AIBmtxv/7vZ2l5qaKoGBgaLRaCQyMlIOHDhgPhYbGytJSUkW9cePHxcAv/okXrNmjXh4eMjFixft1bZTWTuzGzUXyFVVVTJ16lQJCAgQrVYrvXv3lmXLlonJZLLTChzPmpnNnTvXXOvn5ydjxoyRgwcPNjknr7Mki/ovv/xSoqKixN3dXYKDg+Wll16SxsZG8/EnnnhCgoKCRKPRSKdOneSBBx64I8L4OlvPKzc3t9mf/7/2/G4tlYiI41+XExER0Y34GTIREZECMJCJiIgUgIFMRESkAAxkIiIiBWAgExERKQADmYiISAEYyERERArAQCYiIlIABjIREZECMJCJiIgUgIFMRESkAAxkIiIiBWAgExERKYCrNcX19fU4ffq0vXohIiK6owQGBkKj0bSolq+QiYiIFID/HjIREZEC8BUyERGRAjCQiYiIFICBTEREpAAMZCIiIgVgIBMRESkAA5mIiEgBGMhEREQKwEAmIiJSAAYyERGRAjCQiYiIFICBTEREpAAM5BZYvXo1wsLC0LZtW7Rt2xbR0dH45JNPnN2WTa1cuRLdunWDVqtFVFQUCgoKblq7YcMGqFQqi02r1VrU1NTUYOrUqQgICMA999yD0aNHo6yszN7LcChrZjZ8+PAmM1OpVIiPjzfXvPDCCwgNDYWnpyfat2+PuLg4fPXVV45YisNYMzMAeOONN9C7d294eHiga9euePrpp3Ht2jXz8cuXL2Pu3LkICgqCh4cHYmJi8PXXX9t7GQ5lzcyysrIwZMgQeHt7w9PTEwMHDsS7775rPt7Q0IDnnnsOAwYMgKenJwICAvDHP/4RP/zwgyOW4jDWzKyhoQGLFi1CSEgItFotwsPDsXPnzpvWv/zyy1CpVJg7d67tGxf6TdnZ2bJ9+3YpLS2VkpISmTdvnri5uUlxcbGzW7OJzMxM0Wg0kp6eLkeOHJHp06eLt7e31NTUNFufkZEhbdu2laqqKvNWXV1tPm4ymeR3v/ud3HfffVJQUCDHjx+XGTNmSGBgoNTW1jpqWXZl7czOnz9vMa/i4mJRq9WSkZFhrtm4caPs2bNHKioqpLi4WJ588klp27atnD171kGrsi9rZ7Zx40Zxd3eXjRs3SmVlpezatUt0Op08/fTT5poJEyZI3759Ze/evVJWViYLFy6Utm3byvfff++oZdmVtTPLzc2VrKwsOXr0qJSXl8sbb7wharVadu7cKSIiFy9elLi4ONm0aZMcP35c8vPzJTIyUiIiIhy5LLuydmZ///vfJSAgQLZv3y4VFRWyatUq0Wq1cvDgwSa1BQUF0q1bNwkLC5M5c+bYvHcGciu1b99e1q9f7+w2bCIyMlL0er35ttFolICAAFmyZEmz9RkZGdKuXbubnq+kpEQAWPzCYjQapVOnTrJu3Tqb9e1M1s7sl5YvXy5eXl6/+gvKpUuXBIB8+umnt9yvElg7M71eLyNHjrTY98wzz8jQoUNFROTq1auiVqtl27ZtFjWDBw+W+fPn27h757jV60xEZNCgQfL888/f9HhBQYEAkFOnTt1Sr0ph7cx0Op2sWLHCYt/48eNl8uTJFvsuX74sPXv2lD179khsbKxdAplvWVvJaDQiMzMTV65cQXR0tLPbuWX19fUoLCxEXFyceZ+Liwvi4uKQn59/0/vV1tYiKCgIXbt2RUJCAo4cOWI+VldXBwAWb2O7uLjA3d0d+/fvt8MqHKu1M7tRWloaJk2aBE9Pz5s+xtq1a9GuXTuEh4fbpG9nas3MYmJiUFhYaH678cSJE9ixYwfGjBkDAGhsbITRaGzycYmHhwevMwAigpycHJSUlOD++++/ad2lS5egUqng7e1ti7adqjUzq6ura9E1pNfrER8fb3FuW2Mgt9Dhw4fRpk0buLu7489//jO2bNmCvn37OrutW3bu3DkYjUb4+flZ7Pfz80N1dXWz9+nduzfS09Px8ccf47333oPJZEJMTAy+//57AEBoaCgCAwPxj3/8AxcuXEB9fT1eeeUVfP/996iqqrL7muytNTO7UUFBAYqLi/HUU081ObZt2za0adMGWq0Wy5cvx549e+Dj42Oz3p2lNTP7wx/+gEWLFmHYsGFwc3NDSEgIhg8fjnnz5gEAvLy8EB0djcWLF+OHH36A0WjEe++9h/z8/Lv6Ort06RLatGkDjUaD+Ph4pKam4ve//32ztdeuXcNzzz2Hxx9/HG3btrVp/87QmpmNGjUKr7/+OsrKymAymbBnzx5kZWVZXEOZmZk4ePAglixZYtf+Gcgt1Lt3bxgMBnz11VeYOXMmkpKScPToUWe35RTR0dH44x//iIEDByI2NhZZWVno1KkT1qxZAwBwc3NDVlYWSktL0aFDB9xzzz3Izc3FQw89BBcXXnJpaWkYMGAAIiMjmxwbMWIEDAYDvvzyS4wePRoTJkzA2bNnndCl8+Xl5SElJQWrVq3CwYMHkZWVhe3bt2Px4sXmmnfffRcigs6dO8Pd3R1vvfUWHn/88bv6OvPy8oLBYMDXX3+Nl156Cc888wzy8vKa1DU0NGDChAkQEaxevdrxjSrEm2++iZ49eyI0NBQajQazZ8/GtGnTzNfQd999hzlz5mDjxo1NXknb2t171VpJo9GgR48eiIiIwJIlSxAeHo4333zT2W3dMh8fH6jVatTU1Fjsr6mpgb+/f4vO4ebmhkGDBqG8vNy8LyIiAgaDARcvXkRVVRV27tyJ8+fPIzg42Kb9O8OtzOzKlSvIzMzEk08+2exxT09P9OjRA7/73e+QlpYGV1dXpKWl2ax3Z2nNzBYsWIDExEQ89dRTGDBgAB599FGkpKRgyZIlMJlMAICQkBDs3bsXtbW1+O6771BQUICGhoa7+jpzcXFBjx49MHDgQPz1r3/Ff/3XfzV5ZXc9jE+dOoU9e/bcEa+OgdbNrFOnTti6dSuuXLmCU6dO4fjx42jTpo35GiosLMTZs2cxePBguLq6wtXVFXv37sVbb70FV1dXGI1Gm/XPQG4lk8lk/qz0dqbRaBAREYGcnBzzPpPJhJycnBZ/Rm40GnH48GHodLomx9q1a4dOnTqhrKwM33zzDRISEmzWu7Pcysw+/PBD1NXVYcqUKS16rLv5Ort69WqTV7pqtRrAz5+P3sjT0xM6nQ4XLlzArl277vrr7Ea/vIauh3FZWRk+/fRTdOzY0aZ9O9OtzEyr1aJz585obGzE5s2bzdfQAw88gMOHD8NgMJi3IUOGYPLkyTAYDOZr0iZs/jWxO1BycrLs3btXKisr5dChQ5KcnCwqlUp2797t7NZsIjMzU9zd3WXDhg1y9OhRmTFjhnh7e5v/lCkxMVGSk5PN9f/85z9l165dUlFRIYWFhTJp0iTRarVy5MgRc80HH3wgubm5UlFRIVu3bpWgoCAZP368w9dmL9bO7Lphw4bJxIkTm+yvra2Vf/zjH5Kfny8nT56Ub775RqZNmybu7u531J/XWTOzhQsXipeXl7z//vty4sQJ2b17t4SEhMiECRPMNTt37pRPPvnEfDw8PFyioqKkvr7e4euzB2tnlpKSIrt375aKigo5evSoLF26VFxdXc1/3VBfXy/jxo2TLl26iMFgsPhTvLq6Oqes0dasndmBAwdk8+bNUlFRIfv27ZORI0dK9+7d5cKFCzd9DHt9y5qB3AJPPPGEBAUFiUajkU6dOskDDzxwx4TxdampqRIYGCgajUYiIyPlwIED5mOxsbGSlJRkvj137lxzrZ+fn4wZM6bJ3+y9+eab0qVLF3Fzc5PAwEB5/vnn75gn/HXWzExE5Pjx4wKg2Wvnp59+kkcffVQCAgJEo9GITqeTcePGSUFBgb2X4VDWzKyhoUFeeOEFCQkJEa1WK127dpVZs2ZZ/KDctGmTBAcHi0ajEX9/f9Hr9XLx4kUHrsj+rJnZ/PnzpUePHqLVaqV9+/YSHR0tmZmZ5uOVlZUCoNktNzfXgauyL2tmlpeXJ3369BF3d3fp2LGjJCYmypkzZ371/PYKZJXIL977ISIiIofjZ8hEREQKwEAmIiJSAAYyERGRAjCQiYiIFICBTEREpAAMZCIiIgVgIBMRESkAA5mIiEgBGMhEREQKwEAmIiJSAAYyERGRAjCQiYiIFICBTEREpACu1hTX19fj9OnT9uqFiIjojhIYGAiNRtOiWr5CJiIiUgD+e8hEREQKwFfIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkFvh5Zdfhkqlwty5c53dis2sXLkS3bp1g1arRVRUFAoKCm5ae+TIETz22GPo1q0bVCoV3njjjSY114/9ctPr9XZchWNZMzMA+PDDDxEaGgqtVosBAwZgx44dFsdra2sxe/ZsdOnSBR4eHujbty/efvttey7B4Ww9s6lTpza5xkaPHm3PJTictTO7ePEi9Ho9dDod3N3d0atXL4u5LVmyBPfeey+8vLzg6+uLRx55BCUlJfZehqJYO9M33ngDvXv3hoeHB7p27Yqnn34a165ds31jQlYpKCiQbt26SVhYmMyZM8fZ7dhEZmamaDQaSU9PlyNHjsj06dPF29tbampqmq0vKCiQZ599Vt5//33x9/eX5cuXN6k5e/asVFVVmbc9e/YIAMnNzbXvYhzE2pl98cUXolar5dVXX5WjR4/K888/L25ubnL48GFzzfTp0yUkJERyc3OlsrJS1qxZI2q1Wj7++GNHLcuu7DGzpKQkGT16tMW19uOPPzpqSXZn7czq6upkyJAhMmbMGNm/f79UVlZKXl6eGAwGc82oUaMkIyNDiouLxWAwyJgxYyQwMFBqa2sdtSynsnamGzduFHd3d9m4caNUVlbKrl27RKfTydNPP23z3hjIVrh8+bL07NlT9uzZI7GxsXdMIEdGRoperzffNhqNEhAQIEuWLPnN+wYFBTUbyL80Z84cCQkJEZPJdCutKoa1M5swYYLEx8db7IuKipI//elP5tv9+vWTRYsWWdQMHjxY5s+fb8POncceM0tKSpKEhAS79KsE1s5s9erVEhwcLPX19S1+jLNnzwoA2bt37y33ezuwdqZ6vV5Gjhxpse+ZZ56RoUOH2rw3vmVtBb1ej/j4eMTFxTm7FZupr69HYWGhxZpcXFwQFxeH/Px8mz3Ge++9hyeeeAIqlcom53Sm1swsPz+/yXUzatQoi/qYmBhkZ2fjzJkzEBHk5uaitLQUDz74oH0W4kD2mhkA5OXlwdfXF71798bMmTNx/vx52y/ACVozs+zsbERHR0Ov18PPzw/9+/dHSkoKjEbjTR/n0qVLAIAOHTrYdgEK1JqZxsTEoLCw0Py29okTJ7Bjxw6MGTPG5v252vyMd6jMzEwcPHgQX3/9tbNbsalz587BaDTCz8/PYr+fnx+OHz9uk8fYunUrLl68iKlTp9rkfM7WmplVV1c3W19dXW2+nZqaihkzZqBLly5wdXWFi4sL1q1bh/vvv9/2i3Awe81s9OjRGD9+PLp3746KigrMmzcPDz30EPLz86FWq22/EAdqzcxOnDiBzz77DJMnT8aOHTtQXl6OWbNmoaGhAQsXLmxSbzKZMHfuXAwdOhT9+/e3yzqUpDUz/cMf/oBz585h2LBhEBE0Njbiz3/+M+bNm2fz/hjILfDdd99hzpw52LNnD7RarbPbue2kpaXhoYceQkBAgLNbUbTU1FQcOHAA2dnZCAoKwr59+6DX6xEQEHBHvStjS5MmTTL/94ABAxAWFoaQkBDk5eXhgQcecGJnzmEymeDr64u1a9dCrVYjIiICZ86cwWuvvdZsIOv1ehQXF2P//v1O6Pb2kJeXh5SUFKxatQpRUVEoLy/HnDlzsHjxYixYsMCmj8VAboHCwkKcPXsWgwcPNu8zGo3Yt28fVqxYgbq6utv2t3EfHx+o1WrU1NRY7K+pqYG/v/8tn//UqVP49NNPkZWVdcvnUorWzMzf3/9X63/66SfMmzcPW7ZsQXx8PAAgLCwMBoMBS5cuve0D2R4za05wcDB8fHxQXl5+2wdya2am0+ng5uZm8fOoT58+qK6uRn19PTQajXn/7NmzsW3bNuzbtw9dunSxzyIUpjUzXbBgARITE/HUU08B+PkXvytXrmDGjBmYP38+XFxs98kvP0NugQceeACHDx+GwWAwb0OGDMHkyZNhMBhu2zAGAI1Gg4iICOTk5Jj3mUwm5OTkIDo6+pbPn5GRAV9fX3PI3AlaM7Po6GiLegDYs2ePub6hoQENDQ1NntxqtRomk8nGK3A8e8ysOd9//z3Onz8PnU5nm8adqDUzGzp0KMrLyy2umdLSUuh0OnMYiwhmz56NLVu24LPPPkP37t3tuxAFac1Mr1692uzzEvh5ljZl86+J3SXupG9ZZ2Zmiru7u2zYsEGOHj0qM2bMEG9vb6murhYRkcTERElOTjbX19XVSVFRkRQVFYlOp5Nnn31WioqKpKyszOK8RqNRAgMD5bnnnnPoehzB2pl98cUX4urqKkuXLpVjx47JwoULm/wJT2xsrPTr109yc3PlxIkTkpGRIVqtVlatWuXw9dmDrWd2+fJlefbZZyU/P18qKyvl008/lcGDB0vPnj3l2rVrTlmjrVk7s9OnT4uXl5fMnj1bSkpKZNu2beLr6ysvvviiuWbmzJnSrl07ycvLs/hzsatXrzp8fc5g7UwXLlwoXl5e8v7778uJEydk9+7dEhISIhMmTLB5bwzkVrqTAllEJDU1VQIDA0Wj0UhkZKQcOHDAfCw2NlaSkpLMtysrKwVAky02NtbinLt27RIAUlJS4qBVOJY1MxMR+eCDD6RXr16i0WikX79+sn37dovjVVVVMnXqVAkICBCtViu9e/eWZcuW3TF/KiZi25ldvXpVHnzwQenUqZO4ublJUFCQTJ8+3fyD9U5h7cy+/PJLiYqKEnd3dwkODpaXXnpJGhsbzcebe+4CkIyMDAetyPmsmWlDQ4O88MILEhISIlqtVrp27SqzZs2SCxcu2LwvlYitX3MTERGRtfgZMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBSAgUxERKQADGQiIiIFYCATEREpAAOZiIhIARjIRERECsBAJiIiUgAGMhERkQIwkImIiBTg/wMt4pFfSJjniQAAAABJRU5ErkJggg==",
                        "text/plain": [
                            "<Figure size 600x300 with 1 Axes>"
                        ]
                    },
                    "metadata": {},
                    "output_type": "display_data"
                }
            ],
            "source": [
                "d = pd.DataFrame(np.random.random((5, 5)), columns=[\"A\", \"B\", \"C\", \"D\", \"E\"]).round(2)\n",
                "\n",
                "fig, ax = plt.subplots(figsize=(6, 3))\n",
                "\n",
                "tab = Table(d)\n",
                "\n",
                "plt.show()\n",
                "\n",
                "fig.savefig(\"images/basic_table.png\")"
            ]
        },
        {
            "cell_type": "markdown",
            "id": "01fa3fd5-5700-4726-ad5f-9c8e9ae9a8d9",
            "metadata": {},
            "source": [
                "## Alternating Row Colors"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": 3,
            "id": "cbeae0c6-9b90-4e2b-9fe1-da31b8a66eae",
            "metadata": {},
            "outputs": [
                {
                    "data": {
                        "image/png": "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",
                        "text/plain": [
                            "<Figure size 600x300 with 1 Axes>"
                        ]
                    },
                    "metadata": {},
                    "output_type": "display_data"
                }
            ],
            "source": [
                "d = pd.DataFrame(np.random.random((5, 5)), columns=[\"A\", \"B\", \"C\", \"D\", \"E\"]).round(2)\n",
                "\n",
                "fig, ax = plt.subplots(figsize=(6, 3))\n",
                "\n",
                "tab = Table(d, row_dividers=False, odd_row_color=\"#f0f0f0\", even_row_color=\"#e0f6ff\")\n",
                "\n",
                "plt.show()\n",
                "\n",
                "fig.savefig(\"images/alternating_row_color.png\")"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": null,
            "id": "e2a6f08d",
            "metadata": {},
            "outputs": [],
            "source": []
        }
    ],
    "metadata": {
        "kernelspec": {
            "display_name": "Python 3.10.5 ('env': venv)",
            "language": "python",
            "name": "python3"
        },
        "language_info": {
            "codemirror_mode": {
                "name": "ipython",
                "version": 3
            },
            "file_extension": ".py",
            "mimetype": "text/x-python",
            "name": "python",
            "nbconvert_exporter": "python",
            "pygments_lexer": "ipython3",
            "version": "3.10.5"
        },
        "vscode": {
            "interpreter": {
                "hash": "fad163352f6b6c4f05b9b8d41b1f28c58b235e61ec56c8581176f01128143b49"
            }
        }
    },
    "nbformat": 4,
    "nbformat_minor": 5
}
